<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>09 【子查询】 | Bin</title>
    <meta name="description" content="帝彬">
    <link rel="stylesheet" href="/assets/style.9f8bf5c4.css">
    <link rel="modulepreload" href="/assets/app.82d46cfc.js">
    <link rel="modulepreload" href="/assets/mysql_09.md.bef84df5.lean.js">
    <link rel="prefetch" href="/assets/chunks/VPAlgoliaSearchBox.6ebb7441.js">
    <link rel="icon" href="/logo.svg">
  <link rel="preload" href="/assets/inter-latin.7b37fe23.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  <script>(()=>{const e=localStorage.getItem("vue-theme-appearance");(!e||e==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  <meta name="generator" content="qq1974892005">
  <link rel="icon" href="/images/logo.svg">
  <meta name="name" content="Bin">
  <script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>
  <script src="https://hm.baidu.com/hm.js?d186385b8ee12dbef7031da2e9c9eee3"></script>
  <script src="/public/tinymce/tinymce.js"></script>
  <meta name="twitter:title" content="09 【子查询】 | Bin">
  <meta property="og:title" content="09 【子查询】 | Bin">
  </head>
  <body>
    <div id="app"><div class="VPApp" data-v-23306c50><!--[--><span tabindex="-1" data-v-3785d3a7></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-3785d3a7> Skip to content </a><!--]--><!----><!--[--><div></div><!--]--><header class="VPNav nav-bar" data-v-23306c50 data-v-7d674ffc><div class="VPNavBar" data-v-7d674ffc data-v-96a69ce8><div class="container" data-v-96a69ce8><a class="VPNavBarTitle" href="/" data-v-96a69ce8 data-v-1f5e00a8><!--[--><img class="logo" src="/logo.svg" alt="bin" srcset="" data-v-1f5e00a8><span class="text" data-v-1f5e00a8>Bin</span><!--]--></a><div class="content" data-v-96a69ce8><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-96a69ce8 data-v-9072bcde><span id="main-nav-aria-label" class="visually-hidden" data-v-9072bcde>Main Navigation</span><!--[--><!--[--><a class="vt-link link VPNavBarMenuLink" href="/yuanshen/" data-v-9072bcde data-v-6bdae1a3><!--[-->原神大地图<!--]--><!----></a><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">前端 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/js/01.html"><!--[-->JavaScript<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/ajax/01.html"><!--[-->ajax<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/ES6/01.html"><!--[-->ES6<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/echarts/01.html"><!--[-->echarts<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/typescript/01.html"><!--[-->typescript<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/vue2/01.html"><!--[-->vue2<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/vue3/01.html"><!--[-->vue3<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/git/01.html"><!--[-->git<!--]--><!----></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">服务端 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/nodejs/01.html"><!--[-->nodejs<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/mysql/01.html"><!--[-->mysql<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/mongodb/01.html"><!--[-->mongodb<!--]--><!----></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">CSS提升 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/less/01.html"><!--[-->less<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/sass/01.html"><!--[-->sass<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/tailwindcss/01.html"><!--[-->tailwindcss<!--]--><!----></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">集合 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/jihe/React/"><!--[-->React<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/jihe/ReactNative/"><!--[-->ReactNative<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/jihe/vue/"><!--[-->Vue<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/jihe/vuex/"><!--[-->Vuex<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/jihe/vuerouter/"><!--[-->Vue-Router<!--]--><!----></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">参数 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/about/canshu.html"><!--[-->常用参数<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/about/dayin.html"><!--[-->打印机<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/about/chahuo.html"><!--[-->市场查货<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="https://sunlogin.oray.com/download" target="_blank" rel="noopener noreferrer"><!--[-->向日葵远程下载<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" data-v-9072bcde data-v-42573883><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">其他 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="/test/"><!--[-->日志<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="/test/muban.html"><!--[-->富文本模板<!--]--><!----></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><div class="VPNavBarAppearance appearance" data-v-96a69ce8 data-v-d5f66188><button class="vt-switch vt-switch-appearance" type="button" role="switch" aria-label="toggle dark mode" data-v-d5f66188><span class="vt-switch-check"><span class="vt-switch-icon"><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-sun"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-moon"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="vt-social-links VPNavBarSocialLinks social-links" data-v-96a69ce8 data-v-8b9a7f88><!--[--><a class="vt-social-link is-small" href="/translations/" title="languages" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg><span class="visually-hidden">languages</span></a><a class="vt-social-link is-small" href="https://work.weixin.qq.com/kfid/kfc8e47e8eca8390e16" title="github" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span class="visually-hidden">github</span></a><a class="vt-social-link is-small" href="mailto:dibinkf@vip.qq.com" title="slack" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg><span class="visually-hidden">slack</span></a><a class="vt-social-link is-small" href="tencent://message/?uin=1974892005" title="discord" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"></path></svg><span class="visually-hidden">discord</span></a><!--]--></div><div class="vt-flyout VPNavBarExtra extra" data-v-96a69ce8 data-v-b3e218c4><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-icon"><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="vt-flyout-menu"><div class="vt-menu"><!----><!--[--><!--[--><div class="vt-menu-group" data-v-b3e218c4><div class="vt-menu-item item" data-v-b3e218c4><p class="vt-menu-label" data-v-b3e218c4>Appearance</p><div class="vt-menu-action action" data-v-b3e218c4><button class="vt-switch vt-switch-appearance" type="button" role="switch" aria-label="toggle dark mode" data-v-b3e218c4><span class="vt-switch-check"><span class="vt-switch-icon"><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-sun"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-moon"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="vt-menu-group" data-v-b3e218c4><div class="vt-menu-item item" data-v-b3e218c4><div class="vt-social-links social-links" data-v-b3e218c4><!--[--><a class="vt-social-link is-small" href="/translations/" title="languages" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg><span class="visually-hidden">languages</span></a><a class="vt-social-link is-small" href="https://work.weixin.qq.com/kfid/kfc8e47e8eca8390e16" title="github" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span class="visually-hidden">github</span></a><a class="vt-social-link is-small" href="mailto:dibinkf@vip.qq.com" title="slack" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg><span class="visually-hidden">slack</span></a><a class="vt-social-link is-small" href="tencent://message/?uin=1974892005" title="discord" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"></path></svg><span class="visually-hidden">discord</span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><button type="button" class="vt-hamburger VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-96a69ce8 data-v-c78f86de><span class="vt-hamburger-container"><span class="vt-hamburger-top"></span><span class="vt-hamburger-middle"></span><span class="vt-hamburger-bottom"></span></span></button></div></div></div><!----></header><div class="VPLocalNav" data-v-23306c50 data-v-7cd5ed0a><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-7cd5ed0a><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-7cd5ed0a><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-7cd5ed0a>Menu</span></button><a class="top-link" href="#" data-v-7cd5ed0a>Return to top</a></div><aside class="VPSidebar" data-v-23306c50 data-v-22052bdb><nav id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-22052bdb><!--[--><!--]--><span id="sidebar-aria-label" class="visually-hidden" data-v-22052bdb>Sidebar Navigation</span><!--[--><div class="group" data-v-22052bdb><section class="VPSidebarGroup" data-v-22052bdb data-v-59eaa146><div class="title" data-v-59eaa146><h2 class="active title-text" data-v-59eaa146>mysql</h2></div><!--[--><a class="link" href="/mysql/01.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>01 【数据库概述】</p></a><a class="link" href="/mysql/02.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>02 【MySQL基本使用】</p></a><a class="link" href="/mysql/03.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>03 【基本的SELECT语句】</p></a><a class="link" href="/mysql/04.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>04 【运算符】</p></a><a class="link" href="/mysql/05.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>05 【排序与分页】</p></a><a class="link" href="/mysql/06.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>06 【多表查询】</p></a><a class="link" href="/mysql/07.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>07 【单行函数】</p></a><a class="link" href="/mysql/08.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>08 【聚合函数与分组查询】</p></a><a class="link active" href="/mysql/09.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>09 【子查询】</p></a><a class="link" href="/mysql/10.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>10 【创建和管理表】</p></a><a class="link" href="/mysql/11.html" data-v-59eaa146 data-v-531573d4><p class="link-text" data-v-531573d4>11 【数据处理之增删改】</p></a><!--]--></section></div><!--]--><!--[--><!--]--></nav></aside><div id="VPContent" class="VPContent has-sidebar" data-v-23306c50 data-v-790151bc><div class="VPContentDoc has-aside has-sidebar" data-v-790151bc data-v-4fe9b7bd><div class="container" data-v-4fe9b7bd><div class="aside" data-v-4fe9b7bd><div class="aside-container" data-v-4fe9b7bd><!--[--><!--]--><div class="VPContentDocOutline" data-v-4fe9b7bd data-v-aa0e2252><div class="outline-marker" data-v-aa0e2252></div><div class="outline-title" data-v-aa0e2252>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-aa0e2252><span id="doc-outline-aria-label" class="visually-hidden" data-v-aa0e2252>Table of Contents for current page</span><ul class="root" data-v-aa0e2252><!--[--><li style="" data-v-aa0e2252><a class="outline-link" href="#_1-需求分析与问题解决" data-v-aa0e2252>1. 需求分析与问题解决</a><!----></li><li style="" data-v-aa0e2252><a class="outline-link" href="#_2-单行子查询" data-v-aa0e2252>2. 单行子查询</a><!----></li><li style="" data-v-aa0e2252><a class="outline-link" href="#_3-多行子查询" data-v-aa0e2252>3. 多行子查询</a><!----></li><li style="" data-v-aa0e2252><a class="outline-link" href="#_4-相关子查询" data-v-aa0e2252>4. 相关子查询</a><!----></li><li style="" data-v-aa0e2252><a class="outline-link" href="#_5-抛一个思考题" data-v-aa0e2252>5. 抛一个思考题</a><!----></li><li style="" data-v-aa0e2252><a class="outline-link" href="#练习" data-v-aa0e2252>练习</a><!----></li><!--]--></ul></nav></div><!--[--><!--[--><!--[--><div><a class="sponsors-aside-text" href="/">联系客服</a><img src="/images/qrcode.png"></div><!--]--><!--]--><!--]--><div class="VPCarbonAds" data-v-4fe9b7bd><img src="/logo.svg" alt="" srcset=""></div><!--[--><!--[--><!--[--><h1 class="tagline" data-v-3916b2f0><span class="accent" data-v-3916b2f0>Bin</span><br data-v-3916b2f0>QQ - 1974892005 </h1><!--]--><!--]--><!--]--></div></div><div class="content" data-v-4fe9b7bd><!--[--><!--]--><main data-v-4fe9b7bd><div style="position:relative;" class="vt-doc mysql" data-v-4fe9b7bd><div><h1 id="_09-【子查询】" tabindex="-1">09 【子查询】 <a class="header-anchor" href="#_09-【子查询】" aria-hidden="true">#</a></h1><p>子查询指一个查询语句嵌套在另一个查询语句内部的查询，这个特性从MySQL 4.1开始引入。</p><p>SQL 中子查询的使用大大增强了 SELECT 查询的能力，因为很多时候查询需要从结果集中获取数据，或者需要从同一个表中先计算得出一个数据结果，然后与这个数据结果（可能是某个标量，也可能是某个集合）进行比较。</p><p>先写结论：在SELECT中，除了GROUP BY 和 LIMIT之外，其他位置都可以声明子查询！</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> ....,....,....(存在聚合函数)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> ... (</span><span style="color:#82AAFF;">LEFT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">/</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">RIGHT</span><span style="color:#A6ACCD;">)</span><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> ....</span><span style="color:#F78C6C;">ON</span><span style="color:#A6ACCD;"> 多表的连接条件 </span></span>
<span class="line"></span>
<span class="line"><span style="color:#A6ACCD;">(</span><span style="color:#82AAFF;">LEFT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">/</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">RIGHT</span><span style="color:#A6ACCD;">)</span><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> ... </span><span style="color:#F78C6C;">ON</span><span style="color:#A6ACCD;"> ....</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> 不包含聚合函数的过滤条件</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> ...,....</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> 包含聚合函数的过滤条件</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> ....,...(</span><span style="color:#F78C6C;">ASC</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">/</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">DESC</span><span style="color:#A6ACCD;"> )</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> ...,....</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div><h2 id="_1-需求分析与问题解决" tabindex="-1">1. 需求分析与问题解决 <a class="header-anchor" href="#_1-需求分析与问题解决" aria-hidden="true">#</a></h2><h3 id="_1-1-实际问题" tabindex="-1">1.1 实际问题 <a class="header-anchor" href="#_1-1-实际问题" aria-hidden="true">#</a></h3><p><img src="https://i0.hdslb.com/bfs/album/f46772a19fabdf371cb29d41f2929732fdc225df.png" alt=""></p><p>现有解决方式：</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#A6ACCD;">#方式一：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Abel</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">11000</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">#方式二：自连接</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> e2.last_name,e2.salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1,employees e2</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Abel</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;"> e2.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">#方式三：子查询</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> salary</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Abel</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">		);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/7893918b47af93594158c63026b4bf0bf344c3f6.png" alt=""></p><h3 id="_1-2-子查询的基本使用" tabindex="-1">1.2 子查询的基本使用 <a class="header-anchor" href="#_1-2-子查询的基本使用" aria-hidden="true">#</a></h3><ul><li>子查询的基本语法结构：</li></ul><p><img src="https://i0.hdslb.com/bfs/album/10b70d32b3c261f0218f9df3c200334bcf28cc5e.png" alt=""></p><ul><li>子查询（内查询）在主查询之前一次执行完成。</li><li>子查询的结果被主查询（外查询）使用 。</li><li>注意事项 <ul><li>子查询要包含在括号内</li><li>将子查询放在比较条件的右侧</li><li>单行操作符对应单行子查询，多行操作符对应多行子查询</li></ul></li></ul><h3 id="_1-3-子查询的分类" tabindex="-1">1.3 子查询的分类 <a class="header-anchor" href="#_1-3-子查询的分类" aria-hidden="true">#</a></h3><p><strong>分类方式1：</strong></p><p>我们按内查询的结果返回一条还是多条记录，将子查询分为<code>单行子查询</code>、<code>多行子查询</code>。</p><ul><li>单行子查询</li></ul><p><img src="https://i0.hdslb.com/bfs/album/e473557403677fef0a1cd602224782e148f81c6e.png" alt=""></p><ul><li>多行子查询</li></ul><p><img src="https://i0.hdslb.com/bfs/album/868174eb87bed7354694c994b16733727439204b.png" alt=""></p><p><strong>分类方式2：</strong></p><p>我们按内查询是否被执行多次，将子查询划分为<code>相关(或关联)子查询</code>和<code>不相关(或非关联)子查询</code>。</p><p>子查询从数据表中查询了数据结果，如果这个数据结果只执行一次，然后这个数据结果作为主查询的条件进行执行，那么这样的子查询叫做不相关子查询。</p><p>同样，如果子查询需要执行多次，即采用循环的方式，先从外部查询开始，每次都传入子查询进行查询，然后再将结果反馈给外部，这种嵌套的执行方式就称为相关子查询。</p><h2 id="_2-单行子查询" tabindex="-1">2. 单行子查询 <a class="header-anchor" href="#_2-单行子查询" aria-hidden="true">#</a></h2><h3 id="_2-1-单行比较操作符" tabindex="-1">2.1 单行比较操作符 <a class="header-anchor" href="#_2-1-单行比较操作符" aria-hidden="true">#</a></h3><table><thead><tr><th>操作符</th><th>含义</th></tr></thead><tbody><tr><td>=</td><td>equal to</td></tr><tr><td>&gt;</td><td>greater than</td></tr><tr><td>&gt;=</td><td>greater than or equal to</td></tr><tr><td>&lt;</td><td>less than</td></tr><tr><td>&lt;=</td><td>less than or equal to</td></tr><tr><td>&lt;&gt;</td><td>not equal to</td></tr></tbody></table><h3 id="_2-2-代码示例" tabindex="-1">2.2 代码示例 <a class="header-anchor" href="#_2-2-代码示例" aria-hidden="true">#</a></h3><p><strong>题目：查询工资大于149号员工工资的员工的信息</strong></p><p><img src="https://i0.hdslb.com/bfs/album/5964c2447f81af4238e9738ec43d883682f7cad7.png" alt=""></p><p><img src="https://i0.hdslb.com/bfs/album/5f870b496d335e5c99000b95bc1d09f9f9299efb.png" alt=""></p><p><strong>题目：返回job_id与员工号为141的员工相同，salary比员工号为143的员工多的员工姓名，job_id和工资</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name, job_id, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;">  </span></span>
<span class="line"><span style="color:#A6ACCD;">                (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  employee_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;">    salary </span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;">                (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> salary</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  employee_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">143</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/020635abda8413c43bdbc04783c31850e84147d9.png" alt=""></p><p><strong>题目：返回公司工资最少的员工的last_name,job_id和salary</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name, job_id, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  salary </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">                (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/2edd76f8aaa3c3097e9a649a55510d1f2819ac10.png" alt=""></p><p><strong>题目：查询与141号或174号员工的manager_id和department_id相同的其他员工的employee_id，manager_id，department_id</strong></p><p>实现方式1：不成对比较</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">  employee_id, manager_id, department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">    employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">   manager_id </span><span style="color:#F78C6C;">IN</span></span>
<span class="line"><span style="color:#A6ACCD;">		  (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">  manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">    employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">   employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">174</span><span style="color:#A6ACCD;">,</span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">))</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;">     department_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">		  (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">  department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">    employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">   employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">174</span><span style="color:#A6ACCD;">,</span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">))</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;">	employee_id </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">174</span><span style="color:#A6ACCD;">,</span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><p>实现方式2：成对比较</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">	employee_id, manager_id, department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">	employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  (manager_id, department_id) </span><span style="color:#F78C6C;">IN</span></span>
<span class="line"><span style="color:#A6ACCD;">                      (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> manager_id, department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">                       </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                       </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">,</span><span style="color:#F78C6C;">174</span><span style="color:#A6ACCD;">))</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;">	employee_id </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">141</span><span style="color:#A6ACCD;">,</span><span style="color:#F78C6C;">174</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><h3 id="_2-3-having-中的子查询" tabindex="-1">2.3 HAVING 中的子查询 <a class="header-anchor" href="#_2-3-having-中的子查询" aria-hidden="true">#</a></h3><ul><li>首先执行子查询。</li><li>向主查询中的HAVING 子句返回结果。</li></ul><p><strong>题目：查询最低工资大于50号部门最低工资的部门id和其最低工资</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">   department_id, </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">     employees</span></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;">   </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;">                       (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">                        </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                        </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">50</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><h3 id="_2-4-case中的子查询" tabindex="-1">2.4 CASE中的子查询 <a class="header-anchor" href="#_2-4-case中的子查询" aria-hidden="true">#</a></h3><p>在CASE表达式中使用单列子查询：</p><p><strong>题目：显式员工的employee_id,last_name和location。其中，若员工department_id与location_id为1800的department_id相同，则location为’Canada’，其余则为’USA’。</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name,</span></span>
<span class="line"><span style="color:#A6ACCD;">       (</span><span style="color:#F78C6C;">CASE</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">        </span><span style="color:#F78C6C;">WHEN</span></span>
<span class="line"><span style="color:#A6ACCD;">             (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#A6ACCD;">	      </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> location_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1800</span><span style="color:#A6ACCD;">)           </span></span>
<span class="line"><span style="color:#A6ACCD;">        </span><span style="color:#F78C6C;">THEN</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Canada</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">        </span><span style="color:#F78C6C;">ELSE</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">USA</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">END</span><span style="color:#A6ACCD;">) </span><span style="color:#F78C6C;">location</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><h3 id="_2-5-子查询中的空值问题" tabindex="-1">2.5 子查询中的空值问题 <a class="header-anchor" href="#_2-5-子查询中的空值问题" aria-hidden="true">#</a></h3><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name, job_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  job_id </span><span style="color:#89DDFF;">=</span></span>
<span class="line"><span style="color:#A6ACCD;">                (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Haas</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/b5f9dcfe0ab5bbc0eeafe6bded2a0c728e5c1856.png" alt=""></p><blockquote><p><strong>子查询不返回任何行</strong></p></blockquote><h3 id="_2-6-非法使用子查询" tabindex="-1">2.6 非法使用子查询 <a class="header-anchor" href="#_2-6-非法使用子查询" aria-hidden="true">#</a></h3><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  salary </span><span style="color:#89DDFF;">=</span></span>
<span class="line"><span style="color:#A6ACCD;">                (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;">   </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">     employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/17b575ea99fa3608909ee5a608a31dad925287de.png" alt=""></p><blockquote><p><strong>多行子查询使用单行比较符</strong></p></blockquote><h2 id="_3-多行子查询" tabindex="-1">3. 多行子查询 <a class="header-anchor" href="#_3-多行子查询" aria-hidden="true">#</a></h2><ul><li>也称为集合比较子查询</li><li>内查询返回多行</li><li>使用多行比较操作符</li></ul><h3 id="_3-1-多行比较操作符" tabindex="-1">3.1 多行比较操作符 <a class="header-anchor" href="#_3-1-多行比较操作符" aria-hidden="true">#</a></h3><table><thead><tr><th>操作符</th><th>含义</th></tr></thead><tbody><tr><td>IN</td><td>等于列表中的<strong>任意一个</strong></td></tr><tr><td>ANY</td><td>需要和单行比较操作符一起使用，和子查询返回的<strong>某一个</strong>值比较</td></tr><tr><td>ALL</td><td>需要和单行比较操作符一起使用，和子查询返回的<strong>所有</strong>值比较</td></tr><tr><td>SOME</td><td>实际上是ANY的别名，作用相同，一般常使用ANY</td></tr></tbody></table><blockquote><p>体会 ANY 和 ALL 的区别</p></blockquote><h3 id="_3-2-代码示例" tabindex="-1">3.2 代码示例 <a class="header-anchor" href="#_3-2-代码示例" aria-hidden="true">#</a></h3><p><strong>题目：返回其它job_id中比job_id为‘IT_PROG’部门任一工资低的员工的员工号、姓名、job_id 以及salary</strong></p><p><img src="https://i0.hdslb.com/bfs/album/e679bd0fad5ac9936d05dc2952cf3fcabfc8e066.png" alt=""></p><p><img src="https://i0.hdslb.com/bfs/album/023f4e25fcea5f21cfb64a2adba18f754e190299.png" alt=""></p><p><strong>题目：返回其它job_id中比job_id为‘IT_PROG’部门所有工资都低的员工的员工号、姓名、job_id以及salary</strong></p><p><img src="https://i0.hdslb.com/bfs/album/8e6b9eae3b72c421a4cbd67da138d81d8f5aa30f.png" alt=""></p><p><img src="https://i0.hdslb.com/bfs/album/90426d7a663eebb0262535efa1a963ab8d9b3b41.png" alt=""></p><p><strong>题目：查询平均工资最低的部门id</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#A6ACCD;">#方式1：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(avg_sal)</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">				) dept_avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">			)</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span></span>
<span class="line"><span style="color:#A6ACCD;">#方式2：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&lt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式3：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary),department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">ASC</span></span>
<span class="line"><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div><h3 id="_3-3-空值问题" tabindex="-1">3.3 空值问题 <a class="header-anchor" href="#_3-3-空值问题" aria-hidden="true">#</a></h3><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> manager_id  </span><span style="color:#676E95;font-style:italic;">-- manager_id可能为空，not in(null,....)----&gt;结果为空</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/2d4d95a1ff6ff1b95b83d39f51757dc18e654d8f.png" alt=""></p><h2 id="_4-相关子查询" tabindex="-1">4. 相关子查询 <a class="header-anchor" href="#_4-相关子查询" aria-hidden="true">#</a></h2><h3 id="_4-1-相关子查询执行流程" tabindex="-1">4.1 相关子查询执行流程 <a class="header-anchor" href="#_4-1-相关子查询执行流程" aria-hidden="true">#</a></h3><p>如果子查询的执行依赖于外部查询，通常情况下都是因为子查询中的表用到了外部的表，并进行了条件关联，因此每执行一次外部查询，子查询都要重新计算一次，这样的子查询就称之为<code>关联子查询</code>。</p><p>相关子查询按照一行接一行的顺序执行，主查询的每一行都执行一次子查询。</p><p><img src="https://i0.hdslb.com/bfs/album/f2bb2ab1986fa554c016bc3393c0cd2bafb2e477.png" alt=""></p><p><img src="https://i0.hdslb.com/bfs/album/e17fa39989a1e1dc2c489a09b96f2b85ff9606ef.png" alt=""></p><p>说明：<strong>子查询中使用主查询中的列</strong></p><h3 id="_4-2-代码示例" tabindex="-1">4.2 代码示例 <a class="header-anchor" href="#_4-2-代码示例" aria-hidden="true">#</a></h3><p><strong>题目：查询员工中工资大于本部门平均工资的员工的last_name,salary和其department_id</strong></p><p><strong>方式一：相关子查询</strong></p><p><img src="https://i0.hdslb.com/bfs/album/cfa0f3ef9f79502749fd26c6669f8bf5726ef9c6.png" alt=""></p><p><strong>方式二：在 FROM 中使用子查询</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,salary,e1.department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1,(</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id,</span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) dept_avg_sal </span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">                   </span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id) e2</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e2.department_id</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> e2.dept_avg_sal </span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><blockquote><p>from型的子查询：子查询是作为from的一部分，子查询要用()引起来，并且要给这个子查询取别名， 把它当成一张“临时的虚拟的表”来使用。</p></blockquote><p>在ORDER BY 中使用子查询：</p><p><strong>题目：查询员工的id,salary,按照department_name 排序</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	  </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_name</span></span>
<span class="line"><span style="color:#A6ACCD;">	  </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#A6ACCD;">	  </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">	);</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id,salary,department_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#F78C6C;">ON</span><span style="color:#A6ACCD;"> employees.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> departments.department_id</span></span>
<span class="line"><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> department_name;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br></div></div><p><strong>题目：若employees表中employee_id与job_history表中employee_id相同的数目不小于2，输出这些相同id的员工的employee_id,last_name和其job_id</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> e.employee_id, last_name,e.job_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees e </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  </span><span style="color:#F78C6C;">2</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;=</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">COUNT</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;">             </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   job_history </span></span>
<span class="line"><span style="color:#A6ACCD;">             </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  employee_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e.employee_id);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><h3 id="_4-3-exists-与-not-exists关键字" tabindex="-1">4.3 EXISTS 与 NOT EXISTS关键字 <a class="header-anchor" href="#_4-3-exists-与-not-exists关键字" aria-hidden="true">#</a></h3><ul><li>关联子查询通常也会和 EXISTS操作符一起来使用，用来检查在子查询中是否存在满足条件的行。</li><li>如果在子查询中不存在满足条件的行： <ul><li>条件返回 FALSE</li><li>继续在子查询中查找</li></ul></li><li>如果在子查询中存在满足条件的行： <ul><li>条件返回 TRUE</li><li>不在子查询中继续查找</li></ul></li><li>NOT EXISTS关键字表示如果不存在某种条件，则返回TRUE，否则返回FALSE。</li></ul><p><strong>题目：查询公司管理者的employee_id，last_name，job_id，department_id信息</strong></p><p>方式一：</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, job_id, department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees manager</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> ( </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees worker</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  worker.manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">                        manager.employee_id);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p>方式二：自连接</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager.employee_id,manager.last_name,manager.job_id,manager.department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span><span style="color:#F78C6C;">as</span><span style="color:#A6ACCD;"> work</span></span>
<span class="line"><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> employees manager</span></span>
<span class="line"><span style="color:#F78C6C;">ON</span><span style="color:#A6ACCD;"> work.manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> manager.employee_id</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>方式三：</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id,last_name,job_id,department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		     </span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		     </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		     );</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><strong>题目：查询departments表中，不存在于employees表中的部门的department_id和department_name</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, department_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">X</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">                  </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   employees</span></span>
<span class="line"><span style="color:#A6ACCD;">                  </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.department_id);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p><img src="https://i0.hdslb.com/bfs/album/383b518f00f5d1e37de32d4ed1fe2d925bb9b051.png" alt=""></p><h3 id="_4-4-相关更新" tabindex="-1">4.4 相关更新 <a class="header-anchor" href="#_4-4-相关更新" aria-hidden="true">#</a></h3><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">UPDATE</span><span style="color:#A6ACCD;"> table1 alias1</span></span>
<span class="line"><span style="color:#F78C6C;">SET</span><span style="color:#A6ACCD;">    column </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> expression</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   table2 alias2</span></span>
<span class="line"><span style="color:#A6ACCD;">                 </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  alias1.column </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> alias2.column);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>使用相关子查询依据一个表中的数据更新另一个表的数据。</p><p><strong>题目：在employees中增加一个department_name字段，数据为员工对应的部门名称</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#A6ACCD;"># </span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">）</span></span>
<span class="line"><span style="color:#F78C6C;">ALTER</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">TABLE</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">ADD</span><span style="color:#A6ACCD;">(department_name </span><span style="color:#C792EA;">VARCHAR2</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">14</span><span style="color:#A6ACCD;">));</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;"># </span><span style="color:#F78C6C;">2</span><span style="color:#A6ACCD;">）</span></span>
<span class="line"><span style="color:#F78C6C;">UPDATE</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#F78C6C;">SET</span><span style="color:#A6ACCD;"> department_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;">  (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_name </span></span>
<span class="line"><span style="color:#A6ACCD;">	                       </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   departments d</span></span>
<span class="line"><span style="color:#A6ACCD;">	                       </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  e.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.department_id);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br></div></div><h3 id="_4-5-相关删除" tabindex="-1">4.5 相关删除 <a class="header-anchor" href="#_4-5-相关删除" aria-hidden="true">#</a></h3><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">DELETE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> table1 alias1</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> column operator (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> expression</span></span>
<span class="line"><span style="color:#A6ACCD;">                        </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   table2 alias2</span></span>
<span class="line"><span style="color:#A6ACCD;">                        </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  alias1.column </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> alias2.column);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>使用相关子查询依据一个表中的数据删除另一个表的数据。</p><p><strong>题目：删除表employees中，其与emp_history表皆有的数据</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">DELETE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">in</span><span style="color:#A6ACCD;">  </span></span>
<span class="line"><span style="color:#A6ACCD;">           (</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id</span></span>
<span class="line"><span style="color:#A6ACCD;">            </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;">   emp_history </span></span>
<span class="line"><span style="color:#A6ACCD;">            </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;">  employee_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e.employee_id);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><h2 id="_5-抛一个思考题" tabindex="-1">5. 抛一个思考题 <a class="header-anchor" href="#_5-抛一个思考题" aria-hidden="true">#</a></h2><p>**问题：**谁的工资比Abel的高？</p><p><strong>解答：</strong></p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#A6ACCD;">#方式1：自连接</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> e2.last_name,e2.salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1,employees e2</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Abel</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;"> e2.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">#方式2：子查询</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> salary</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Abel</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">		);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br></div></div><p>**问题：**以上两种方式有好坏之分吗？</p><p>**解答：**自连接方式好！</p><p>题目中可以使用子查询，也可以使用自连接。一般情况建议你使用自连接，因为在许多 DBMS 的处理过程中，对于自连接的处理速度要比子查询快得多。</p><p>可以这样理解：子查询实际上是通过未知表进行查询后的条件判断，而自连接是通过已知的自身数据表进行条件判断，因此在大部分 DBMS 中都对自连接处理进行了优化。</p><h2 id="练习" tabindex="-1">练习 <a class="header-anchor" href="#练习" aria-hidden="true">#</a></h2><p>1.查询和Zlotkey相同部门的员工姓名和工资</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name, salary </span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> ( </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Zlotkey</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>2.查询工资比公司平均工资高的员工的员工号，姓名和工资。</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, salary </span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> ( </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p>3.选择工资大于所有JOB_ID = &#39;SA_MAN&#39;的员工的工资的员工的last_name, job_id, salary</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1 </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,job_id,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> (   </span><span style="color:#676E95;font-style:italic;">-- 单行子查询</span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">SA_MAN</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,job_id,salary </span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> ALL (  </span><span style="color:#676E95;font-style:italic;">-- 多行子查询</span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> salary </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">SA_MAN</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br></div></div><p>4.查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id,last_name,department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;">(</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#F78C6C;">LIKE</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">%u%</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#89DDFF;">	</span><span style="color:#676E95;font-style:italic;">-- WHERE last_name REGEXP &#39;[u]&#39; --正则表达式</span></span>
<span class="line"><span style="color:#A6ACCD;">	);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>5.查询在部门的location_id为1700的部门工作的员工的员工号</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;">(</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> location_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1700</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>6.查询管理者是King的员工姓名和工资</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1 多表连接 join on</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> worker.last_name,worker.salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees worker</span></span>
<span class="line"><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> employees mar</span></span>
<span class="line"><span style="color:#F78C6C;">ON</span><span style="color:#A6ACCD;"> worker.manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> mar.employee_id</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> mar.last_name</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">King</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2  多行子查询</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name, salary </span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> manager_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> ( </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">King</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div><p>7.查询工资最低的员工信息: last_name, salary</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name,salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary) </span></span>
<span class="line"><span style="color:#A6ACCD;">    </span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p>8.查询平均工资最低的部门信息</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式一： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments </span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> ( </span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id </span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id </span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> ( </span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(dept_avgsal) </span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">						</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) dept_avgsal </span></span>
<span class="line"><span style="color:#A6ACCD;">						</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees </span></span>
<span class="line"><span style="color:#A6ACCD;">						</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id </span></span>
<span class="line"><span style="color:#A6ACCD;">					) avg_sal </span></span>
<span class="line"><span style="color:#A6ACCD;">		) </span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&lt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式三： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式四： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	) dept_avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> d.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> dept_avg_sal.department_id</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br></div></div><p>9.查询平均工资最低的部门信息和该部门的平均工资（相关子查询）</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式一： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(dept_avgsal)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> dept_avgsal</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		) avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">	) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&lt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式三： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式四： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">, dept_avg_sal.avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	) dept_avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> d.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> dept_avg_sal.department_id</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br><span class="line-number">58</span><br><span class="line-number">59</span><br><span class="line-number">60</span><br><span class="line-number">61</span><br><span class="line-number">62</span><br><span class="line-number">63</span><br><span class="line-number">64</span><br><span class="line-number">65</span><br><span class="line-number">66</span><br><span class="line-number">67</span><br><span class="line-number">68</span><br><span class="line-number">69</span><br><span class="line-number">70</span><br><span class="line-number">71</span><br></div></div><p>10.查询平均工资最高的 job 信息</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式一： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> jobs</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(avg_sal)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		) job_avgsal</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> jobs</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&gt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式三： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> jobs</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal </span><span style="color:#F78C6C;">DESC</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式四： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> j.</span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> jobs j, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> job_id, </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> job_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal </span><span style="color:#F78C6C;">DESC</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	) job_avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> j.job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> job_avg_sal.job_id</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br></div></div><p>11.查询平均工资高于公司平均工资的部门有哪些?</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">IS</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">NULL</span></span>
<span class="line"><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>12.查询出公司中所有 manager 的详细信息</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> e1.employee_id, e1.last_name, e1.salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">JOIN</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.employee_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e2.manager_id;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式3： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e2.manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e1.employee_id</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br></div></div><p>13.各个部门的最高工资中最低的那个部门的 最低工资是多少?</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1: </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(max_sal)</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		) dept_max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2: </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&lt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式3： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式4： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, </span><span style="color:#82AAFF;">MIN</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> max_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">	) dept_max_sal</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> dept_max_sal.department_id</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br><span class="line-number">58</span><br><span class="line-number">59</span><br><span class="line-number">60</span><br></div></div><p>14.查询平均工资最高的部门的 manager 的详细信息: last_name, department_id, email, salary</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式一： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, department_id, email, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">MAX</span><span style="color:#A6ACCD;">(avg_sal)</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">				</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">			) dept_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		)</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, department_id, email, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#89DDFF;">&gt;=</span><span style="color:#A6ACCD;"> ALL (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		)</span></span>
<span class="line"><span style="color:#A6ACCD;">	)</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式三： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> employee_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e, (</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">ORDER BY</span><span style="color:#A6ACCD;"> avg_sal </span><span style="color:#F78C6C;">DESC</span></span>
<span class="line"><span style="color:#A6ACCD;">			</span><span style="color:#F78C6C;">LIMIT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">0</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">1</span></span>
<span class="line"><span style="color:#A6ACCD;">		) dept_avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> dept_avg_sal.department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br></div></div><p>15.查询部门的部门号，其中不包括job_id是&quot;ST_CLERK&quot;的部门号</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方法一： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT DISTINCT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">ST_CLERK</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方法二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> job_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">ST_CLERK</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><p>16.选择所有没有管理者的员工的last_name</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> last_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">NOT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e2.employee_id</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>17．查询员工号、姓名、雇用时间、工资，其中员工的管理者为 &#39;De Haan&#39;</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, hire_date, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> manager_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">De Haan</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, hire_date, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">EXISTS</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e2.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">employee_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e1.manager_id</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> e2.last_name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">De Haan</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><p>18.查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资（相关子查询）</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式一：</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> salary </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary)</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e2.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式二： </span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> employee_id, last_name, salary</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e1, (</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id, </span><span style="color:#82AAFF;">AVG</span><span style="color:#A6ACCD;">(salary) </span><span style="color:#F78C6C;">AS</span><span style="color:#A6ACCD;"> avg_sal</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e2</span></span>
<span class="line"><span style="color:#A6ACCD;">		</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	) dept_avg_sal</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">department_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> dept_avg_sal.department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">AND</span><span style="color:#A6ACCD;"> e1.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">salary</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> dept_avg_sal.avg_sal;</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><p>19.查询每个部门下的部门人数大于 5 的部门名称（相关子查询）</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#676E95;font-style:italic;">-- 方式1</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">5</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">COUNT</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees e</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> d.department_id </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> e.department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#A6ACCD;">  </span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">-- 方式2</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_name</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> department_id </span><span style="color:#F78C6C;">IN</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> employees</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">GROUP BY</span><span style="color:#A6ACCD;"> department_id</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">HAVING</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">COUNT</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">) </span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">5</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><p>20.查询每个国家下的部门个数大于 2 的国家编号（相关子查询）</p><div class="language-sql line-numbers-mode"><pre><code><span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> country_id</span></span>
<span class="line"><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> locations l</span></span>
<span class="line"><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">COUNT</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">FROM</span><span style="color:#A6ACCD;"> departments d</span></span>
<span class="line"><span style="color:#A6ACCD;">	</span><span style="color:#F78C6C;">WHERE</span><span style="color:#A6ACCD;"> l.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">location_id</span><span style="color:#89DDFF;">`</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> d.</span><span style="color:#89DDFF;">`</span><span style="color:#C3E88D;">location_id</span><span style="color:#89DDFF;">`</span></span>
<span class="line"><span style="color:#A6ACCD;">);</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>子查询的编写技巧（或步骤）：</p><p>① 从里往外写 ② 从外往里写</p><p>如何选择？</p><p>① 如果子查询相对较简单，建议从外往里写。一旦子查询结构较复杂，则建议从里往外写</p><p>② 如果是相关子查询的话，通常都是从外往里写。</p></div></div><!----></main><!--[--><!--]--><footer class="VPContentDocFooter" data-v-4fe9b7bd data-v-7f892bef><a class="prev-link" href="/mysql/08.html" data-v-7f892bef><span class="desc" data-v-7f892bef><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-link-icon" data-v-7f892bef><path d="M15,19c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4l6-6c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4L10.4,12l5.3,5.3c0.4,0.4,0.4,1,0,1.4C15.5,18.9,15.3,19,15,19z"></path></svg> Previous</span><span class="title" data-v-7f892bef>08 【聚合函数与分组查询】</span></a><a class="next-link" href="/mysql/10.html" data-v-7f892bef><span class="desc" data-v-7f892bef>Next <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-link-icon" data-v-7f892bef><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></span><span class="title" data-v-7f892bef>10 【创建和管理表】</span></a></footer></div></div></div></div><div class="visually-hidden" aria-live="polite" data-v-23306c50>09 【子查询】 has loaded</div></div></div>
    <script>__VP_HASH_MAP__ = JSON.parse("{\"about_canshu.md\":\"5cbc0865\",\"about_chahuo.md\":\"4437b8d9\",\"about_dayin.md\":\"34b5b775\",\"ajax_01.md\":\"2bc3ac36\",\"ajax_02.md\":\"2b66aa43\",\"echarts_01.md\":\"8784be9b\",\"echarts_02.md\":\"3e6ecdea\",\"echarts_03.md\":\"28ca81f0\",\"echarts_04.md\":\"d02d74fb\",\"echarts_05.md\":\"f150b054\",\"es6_01.md\":\"53b72f76\",\"es6_02.md\":\"1fc3a71b\",\"es6_03.md\":\"2b8d77d0\",\"es6_04.md\":\"19f87206\",\"es6_05.md\":\"78caf034\",\"es6_06.md\":\"f8d3c991\",\"es6_07.md\":\"324f9949\",\"es6_08.md\":\"87411498\",\"es6_09.md\":\"3486bc74\",\"es6_10.md\":\"71a60a12\",\"es6_11.md\":\"6d589e6c\",\"es6_12.md\":\"d82e096b\",\"es6_13.md\":\"78856900\",\"es6_14.md\":\"40c129d1\",\"git_01.md\":\"bf73bb28\",\"git_02.md\":\"650fa8d0\",\"git_03.md\":\"4384f718\",\"git_04.md\":\"14478c6d\",\"index.md\":\"09348a64\",\"jihe_react_index.md\":\"f57878ae\",\"jihe_reactnative_index.md\":\"c7e0faf3\",\"jihe_vue_index.md\":\"990e53d2\",\"jihe_vuerouter_index.md\":\"d28167d1\",\"jihe_vuex_index.md\":\"b9d762ab\",\"js_01.md\":\"48c6f3a8\",\"js_02.md\":\"a5183efb\",\"js_03.md\":\"5a8ce924\",\"js_04.md\":\"3db3e706\",\"js_05.md\":\"7b8951d8\",\"js_06.md\":\"dc3d579a\",\"js_07.md\":\"e7a4eda3\",\"js_08.md\":\"f75c92a3\",\"js_09.md\":\"80e86e46\",\"js_10.md\":\"646ac118\",\"js_11.md\":\"7d754050\",\"js_12.md\":\"7e6eae06\",\"js_13.md\":\"947200bc\",\"js_14.md\":\"1c0566af\",\"js_15.md\":\"d465d165\",\"js_16.md\":\"1c7c9370\",\"js_17.md\":\"71dec812\",\"js_18.md\":\"d68348c2\",\"js_19.md\":\"72c34e28\",\"js_20.md\":\"ff30fdd3\",\"js_21.md\":\"aa9bea2b\",\"js_22.md\":\"6bc45920\",\"js_23.md\":\"3131d6e6\",\"js_24.md\":\"5f12ad69\",\"js_25.md\":\"c5932cf5\",\"js_26.md\":\"b8e719df\",\"js_27.md\":\"6679728d\",\"js_28.md\":\"c9ec23e0\",\"js_29.md\":\"09376a4e\",\"js_30.md\":\"dbc798cb\",\"js_31.md\":\"283dae59\",\"js_32.md\":\"11d6ad8d\",\"js_33.md\":\"e4232cd9\",\"js_34.md\":\"a3b52a45\",\"js_35.md\":\"1477beb5\",\"js_36.md\":\"01702bb7\",\"keshitong_caigou.md\":\"c5f9edad\",\"keshitong_caiwu.md\":\"90dbd259\",\"keshitong_index.md\":\"7522f84e\",\"keshitong_xiaoshou.md\":\"b4d67695\",\"keshitong_xunjia.md\":\"49b056fe\",\"less_01.md\":\"cc6e26b8\",\"linux_01.md\":\"40a56533\",\"linux_02.md\":\"fa080f7e\",\"linux_03.md\":\"9c723c17\",\"linux_04.md\":\"c4b01f09\",\"linux_05.md\":\"cfe63746\",\"linux_06.md\":\"4e05c7c6\",\"linux_07.md\":\"2dbdda0c\",\"linux_08.md\":\"80f78478\",\"linux_09.md\":\"b9157005\",\"linux_10.md\":\"55e60bfe\",\"linux_11.md\":\"3b59a057\",\"mongodb_01.md\":\"4e9aab55\",\"mysql_01.md\":\"66f81032\",\"mysql_02.md\":\"38ff9d8a\",\"mysql_03.md\":\"4a1047e3\",\"mysql_04.md\":\"ed6dc0f6\",\"mysql_05.md\":\"fb50b511\",\"mysql_06.md\":\"4f4b1170\",\"mysql_07.md\":\"3f58b4d2\",\"mysql_08.md\":\"7e23f325\",\"mysql_09.md\":\"bef84df5\",\"mysql_10.md\":\"33e4e499\",\"mysql_11.md\":\"4e732a7d\",\"nodejs_01.md\":\"614d43a3\",\"nodejs_02.md\":\"4899f883\",\"nodejs_03.md\":\"f47d5f16\",\"nodejs_04.md\":\"7755e031\",\"nodejs_05.md\":\"ef947c59\",\"nodejs_06.md\":\"ab0a9b5a\",\"nodejs_07.md\":\"ad0e80be\",\"nodejs_08.md\":\"11027bdf\",\"nodejs_09.md\":\"4e4f9b03\",\"nodejs_10.md\":\"c4453555\",\"nodejs_11.md\":\"9f62715b\",\"nodejs_12.md\":\"1229399a\",\"nodejs_13.md\":\"e490f00c\",\"nodejs_14.md\":\"d756be55\",\"nodejs_15.md\":\"eb622fe8\",\"nodejs_16.md\":\"a5beb6c6\",\"sass_01.md\":\"0d150b1a\",\"sass_02.md\":\"8ee85f45\",\"sass_03.md\":\"7c4069d6\",\"sass_04.md\":\"85602152\",\"sass_05.md\":\"b62c38b1\",\"sass_06.md\":\"d02e3012\",\"sass_07.md\":\"edcc3b93\",\"sass_08.md\":\"9c108ef4\",\"sass_09.md\":\"3bdde859\",\"sass_10.md\":\"7eac5fed\",\"sass_11.md\":\"3d1861cf\",\"tailwindcss_01.md\":\"de90a25d\",\"tailwindcss_02.md\":\"bbfd989e\",\"tailwindcss_03.md\":\"dc351bec\",\"tailwindcss_04.md\":\"27601329\",\"test_index.md\":\"57ee7ee1\",\"test_muban.md\":\"5118e1bd\",\"test_zhongqiu.md\":\"3d9111e0\",\"typescript_01.md\":\"27d9f7e0\",\"typescript_02.md\":\"6cf9cb32\",\"typescript_03.md\":\"a851d1d2\",\"typescript_04.md\":\"954cb0d0\",\"typescript_05.md\":\"989bd8d1\",\"typescript_06.md\":\"2c90dcac\",\"vue2_01.md\":\"fd17f4d6\",\"vue2_02.md\":\"84ab761d\",\"vue2_03.md\":\"a64353d4\",\"vue2_04.md\":\"b9b0b23e\",\"vue2_05.md\":\"81a8a08d\",\"vue2_06.md\":\"2ce32e2a\",\"vue2_07.md\":\"19b50842\",\"vue2_08.md\":\"4c8868f5\",\"vue2_09.md\":\"94977e11\",\"vue2_10.md\":\"8e789ccc\",\"vue2_11.md\":\"ee9e7943\",\"vue2_12.md\":\"5249d4c5\",\"vue2_13.md\":\"048d4471\",\"vue2_14.md\":\"63be0ece\",\"vue2_15.md\":\"bd679101\",\"vue2_16.md\":\"bbe6e777\",\"vue3_01.md\":\"27d0d58b\",\"vue3_02.md\":\"22bcb9e5\",\"vue3_03.md\":\"3c52430b\",\"vue3_04.md\":\"0bb848ba\",\"vue3_06.md\":\"1cc04cca\",\"vue3_07.md\":\"28531efb\",\"vue3_08.md\":\"66ee6b02\",\"vue3_09.md\":\"9ea9285a\",\"vue3_10.md\":\"a1d6a99a\",\"vue3_11.md\":\"cb4aa0f5\",\"vue3_12.md\":\"27e13ddf\",\"vue3_13.md\":\"3976cde5\",\"vue3_14.md\":\"1b2e16e7\",\"vue3_15.md\":\"24dc5c2d\",\"vue3_16.md\":\"5efc1ed6\",\"vue3_17.md\":\"ac67e2ed\",\"yuanshen_index.md\":\"437ce691\"}")</script>
    <script type="module" async src="/assets/app.82d46cfc.js"></script>
    
  </body>
</html>